A graphics processing subsystem is a high performance hardware engine that depends on supporting graphics driver software to provide a workload for processing. To maximize the use of the graphics processing system, the supporting software should keep the graphics processing subsystem loaded with a list of work items to process. Across successive generations and versions of graphics processing hardware, the processing performance can increase rapidly. As the performance of the hardware engine increases, it can become increasingly difficult to keep the processing hardware busy. Accordingly, scenarios may develop during graphics processing operations in which the graphics processing resources are unused while the hardware waits for the supporting software to provide the next task.
Additionally, an application processor or general-purpose processor executes the graphics driver software. When the general-purpose processor is used to scheduler operations for the graphics processing system, the processor may be repeatedly interrupted during work item processing, which may prevent the processor from going into a low power state while graphics processing operations are being performed.